/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.37951, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.57636, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.59437, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.48222, 0.3831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.28273, 0.37908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.03583, 0.37571 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.7796, 0.3729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.54791, 0.37054 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.3653, 0.36854 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.24049, 0.36684 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.16095, 0.36539 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.09018, 0.36417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96865, 0.3632 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71804, 0.36253 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.24831, 0.36224 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.4667, 0.36246 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.28798, 0.36333 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.64483, 0.365 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.49751, 0.36764 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.84216, 0.37137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.71686, 0.37627 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.20447, 0.38239 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.4303, 0.38974 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.55256, 0.39831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.74489, 0.40809 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.8266, 0.41908 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.02692, 0.43128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77049, 0.44465 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.03054, 0.45901 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.83882, 0.47402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.27768, 0.4891 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.4681, 0.50346 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.55706, 0.51609 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.70517, 0.52586 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.07256, 0.53169 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.79963, 0.5328 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.98305, 0.52885 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.65434, 0.52014 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.77124, 0.50756 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.22821, 0.49239 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.88216, 0.47605 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.58231, 0.45989 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.19297, 0.44498 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.60445, 0.43208 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.73334, 0.42161 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.51704, 0.41378 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.90682, 0.40867 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.86171, 0.40626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.34379, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.3139, 0.40954 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.72665, 0.41536 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.52379, 0.42422 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.6266, 0.4364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92957, 0.45227 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.29973, 0.47205 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.58876, 0.49559 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.66647, 0.52188 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.48215, 0.54857 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.14508, 0.57183 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.98207, 0.58721 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.50722, 0.59154 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.2849, 0.5845 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.23354, 0.56853 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.79324, 0.54729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.31869, 0.5241 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.84935, 0.50128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.47982, 0.48014 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.32231, 0.46128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.48881, 0.44486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.08476, 0.43081 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.20758, 0.41893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.94609, 0.40896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.37951, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.43773, 0.37417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.74382, 0.37028 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.87952, 0.36704 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.88446, 0.36435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.79195, 0.36214 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.63381, 0.36033 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.44397, 0.3589 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.25831, 0.35781 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.10992, 0.35702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.0217, 0.35653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99886, 0.3563 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02317, 0.35635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04979, 0.35667 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00664, 0.35728 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.79709, 0.35823 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.30705, 0.35963 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.4172, 0.3616 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.01914, 0.36434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.03295, 0.36803 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.42327, 0.37286 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.21225, 0.37894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.48746, 0.38631 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.40174, 0.39494 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.16064, 0.4048 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.00436, 0.41585 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.87257, 0.42818 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.27004, 0.4419 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.09388, 0.45716 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.3191, 0.47399 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.98903, 0.49225 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.19588, 0.51155 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.06045, 0.53117 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.72003, 0.54997 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.32794, 0.56636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.05781, 0.57842 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.09656, 0.58423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.61333, 0.58249 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.71045, 0.57297 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.38359, 0.55669 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.51867, 0.53565 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.92845, 0.51231 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.40616, 0.48899 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.76823, 0.4675 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.87288, 0.44898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.61816, 0.43401 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.93058, 0.42272 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.75316, 0.415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.03722, 0.41063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.73773, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.81054, 0.41082 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.20919, 0.41489 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88106, 0.4213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.76571, 0.42977 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.80152, 0.43987 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.94759, 0.45088 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.22179, 0.46162 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.74154, 0.47061 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.73793, 0.4764 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.5178, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.38455, 0.47589 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.56649, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.19334, 0.46266 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.68221, 0.4536 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.0485, 0.44388 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.90855, 0.43395 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.26911, 0.42415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.1393, 0.41474 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.53281, 0.40592 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.47061, 0.39784 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.98358, 0.3906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.11373, 0.38426 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.91283, 0.3788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.43773, 0.37417 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.62249, 0.35474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.96596, 0.35269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.15771, 0.35104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.23115, 0.34972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.20954, 0.34869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.11237, 0.34793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.96253, 0.34741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.78938, 0.34714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.62597, 0.34714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.50243, 0.34743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.4383, 0.34801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43558, 0.34892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47213, 0.35016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.49496, 0.35172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.41516, 0.35363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.10903, 0.35593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.42932, 0.35874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.22696, 0.36226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.37831, 0.36671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.81188, 0.37231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.53028, 0.37918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.62473, 0.38732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.27742, 0.39663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.25568, 0.407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.68501, 0.41839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.74198, 0.43093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.22886, 0.4449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.04643, 0.46062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19304, 0.47834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.74019, 0.49816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.79563, 0.51999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.4694, 0.54349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.85853, 0.56783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.06027, 0.59143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.20677, 0.61181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.49345, 0.62575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.16355, 0.63022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.43389, 0.62351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.39924, 0.60605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.98385, 0.58036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.97479, 0.55012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.10637, 0.51908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.13654, 0.49019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.88178, 0.46524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.21503, 0.44504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.04794, 0.42965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.3142, 0.41875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.96041, 0.41181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.94343, 0.40824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.23026, 0.40742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.79707, 0.40876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.62735, 0.41162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.71462, 0.41535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.07773, 0.41916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.79064, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.01181, 0.42353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.983, 0.42271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.97828, 0.41974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.22453, 0.41517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.84489, 0.40982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.85709, 0.40433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.78502, 0.39907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.1408, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.24904, 0.3894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.11842, 0.38481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.73504, 0.38028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.07484, 0.37582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.11332, 0.3715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.83191, 0.36739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.22349, 0.36359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.29763, 0.36018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.0828, 0.35723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.62249, 0.35474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.56212, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.90015, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.10852, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.21938, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.2487, 0.33785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.20349, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.0923, 0.33794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.93209, 0.33825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.7483, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57029, 0.33958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42532, 0.34066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33237, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.29362, 0.34386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.28177, 0.34597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.22568, 0.34842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.00261, 0.35122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.44619, 0.35447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.37264, 0.35836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.61871, 0.36315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.0803, 0.36905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.74436, 0.37616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.70985, 0.38443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.191, 0.39366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.50768, 0.40367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.04822, 0.41444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.13189, 0.42618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.55882, 0.43931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.25293, 0.45427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.2494, 0.47138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.6545, 0.49088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.59236, 0.51286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.1573, 0.53734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.3934, 0.56403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.31598, 0.59194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.97202, 0.61881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.5103, 0.64092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.20757, 0.65371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.40087, 0.65345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.34125, 0.63902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.06867, 0.61252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.4034, 0.57834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.04478, 0.54157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.68823, 0.50645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.091, 0.4757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.08113, 0.45055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.53984, 0.43111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.3837, 0.41689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.55653, 0.40709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0286, 0.40083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.79656, 0.39721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.87904, 0.39541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.3095, 0.39465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.13565, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.43551, 0.39338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.34592, 0.39159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.07692, 0.38849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.88176, 0.38416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.98436, 0.37906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.50859, 0.37387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.45582, 0.36914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.73759, 0.36517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76482, 0.36196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14685, 0.35934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45342, 0.35706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.68059, 0.35492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.79492, 0.35281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.75365, 0.35068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.51558, 0.34854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.04459, 0.34646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.31328, 0.34449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.31047, 0.34271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.04833, 0.3412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.56212, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.06385, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.36676, 0.32849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.56057, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.68115, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.74168, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.73944, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.66892, 0.33022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.5323, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34268, 0.3319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12227, 0.33303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.89938, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.70443, 0.33611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.56084, 0.33811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.46694, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.37216, 0.343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.15988, 0.34588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.65156, 0.34915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.63746, 0.35301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.9249, 0.35771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.38833, 0.36345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.00978, 0.37027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.90384, 0.37803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.682, 0.38648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.40405, 0.39539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.89595, 0.40482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.85326, 0.41509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.09314, 0.42671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.56994, 0.44014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.35097, 0.45568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.56598, 0.47347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.34464, 0.49355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.76162, 0.51601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.81364, 0.54085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.4461, 0.56765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.62655, 0.59491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.4386, 0.6195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.14418, 0.63683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.14883, 0.64231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.85021, 0.63341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.45582, 0.61096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.90348, 0.57876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.92567, 0.54196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.17993, 0.50537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.35025, 0.47243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.18797, 0.44489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.51348, 0.42314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.20803, 0.40675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.20875, 0.39484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50581, 0.38641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.13427, 0.38052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.15688, 0.3763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.64415, 0.37306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.66826, 0.37021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.32246, 0.36724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.75421, 0.36377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.17618, 0.35967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.82502, 0.35511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.88197, 0.35051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.40842, 0.34636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33832, 0.34296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.47487, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.18867, 0.33863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.91351, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.68724, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48574, 0.33547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.25427, 0.33455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.93602, 0.33358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.4829, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.85296, 0.33157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.00862, 0.33062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.92449, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.59983, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.06385, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.02414, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.27035, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.42296, 0.3208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.52572, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.59383, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.61908, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.58463, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47857, 0.32517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30015, 0.32639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.06106, 0.32776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.78587, 0.32933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.51107, 0.33112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.27586, 0.33314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.09907, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.94682, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.70761, 0.34047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.19442, 0.34347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.18079, 0.34701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.45845, 0.35132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.89614, 0.35655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.48524, 0.36268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.36415, 0.36946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.18935, 0.3766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.80879, 0.38393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.1243, 0.39158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.84779, 0.39999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.82221, 0.4097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.02464, 0.42115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.53505, 0.43453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48422, 0.44977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.99214, 0.46667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.11439, 0.48508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.82174, 0.50489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.03083, 0.52586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.68038, 0.54708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.82467, 0.5665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.69902, 0.58087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.70458, 0.58665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.28916, 0.58147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.77761, 0.56532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.25713, 0.54045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.57653, 0.51053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.4298, 0.47945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.45769, 0.45034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.32448, 0.42513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.76251, 0.40458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.59333, 0.38855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.73347, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.18621, 0.36736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.01755, 0.36057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.31952, 0.35538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.17653, 0.35124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.65759, 0.34772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.84441, 0.34443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.8745, 0.34109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.95461, 0.33756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.3139, 0.33398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.1171, 0.3306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39699, 0.32774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.05, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.10877, 0.32413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.26528, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.53945, 0.32283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.95809, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.47343, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00788, 0.32205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.4921, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.87591, 0.32132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.11798, 0.32092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.17654, 0.32053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.01579, 0.32023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.62372, 0.32007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.02414, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.38306, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.55857, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.64874, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.70833, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.75885, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.79106, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.78054, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70365, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.54675, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.31051, 0.32367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.01385, 0.32532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.69542, 0.3271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.40401, 0.32901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.17089, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.97068, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.6921, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.14141, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.08489, 0.34115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.31369, 0.34494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.70748, 0.3495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.28015, 0.3547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.8016, 0.36025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.23817, 0.36583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.66004, 0.37134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.71548, 0.37703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.14468, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.81285, 0.39093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.7033, 0.40006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.88613, 0.41085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.47395, 0.42302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.5706, 0.43611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.22654, 0.44962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.42363, 0.46317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.10535, 0.47645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.24343, 0.48891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.90958, 0.49954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.31555, 0.50678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.7957, 0.50892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.73143, 0.50471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.4475, 0.49395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12378, 0.47762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.75143, 0.45755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.14003, 0.43597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.96786, 0.4149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.86013, 0.39583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.47269, 0.37958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.55746, 0.36635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.99326, 0.3559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.7784, 0.34776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.99094, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.73263, 0.3365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.08389, 0.33257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.09712, 0.32935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.83404, 0.32656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.41819, 0.32396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.052, 0.32143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.96686, 0.31899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32855, 0.3168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.16167, 0.31505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.65812, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.34402, 0.31319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.10623, 0.31297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.07309, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.2602, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.59616, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.98062, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33251, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.60131, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.74903, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.73248, 0.31339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.50749, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.05158, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.38306, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.09811, 0.30971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.19815, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.21286, 0.31125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.21026, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.22178, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.24121, 0.31479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.23995, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18515, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05207, 0.31912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.83184, 0.32068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.53807, 0.32231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.20965, 0.32398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.89934, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.64192, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.41114, 0.32922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.09048, 0.33113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.48159, 0.33332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.35318, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.51013, 0.33927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.8569, 0.34313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.43836, 0.34737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.55235, 0.35163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.8067, 0.35564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.96998, 0.35937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.72094, 0.36313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.82793, 0.36741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.1673, 0.3727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.7129, 0.37932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51191, 0.38725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.65404, 0.39612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.23576, 0.40529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.328, 0.41407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.96386, 0.42189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.15822, 0.42841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.94949, 0.43344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.43676, 0.43678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.79062, 0.43811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.23738, 0.43702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.03026, 0.43309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.41647, 0.42614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.5952, 0.41641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66269, 0.40457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.56208, 0.39158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.07056, 0.37843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.84515, 0.36597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.51568, 0.35481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.78466, 0.34525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.49022, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61075, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.218, 0.32571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.40747, 0.32158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.24514, 0.31829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.76192, 0.31568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.99765, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.06011, 0.31172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.14577, 0.31007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.48956, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26499, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.50057, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.94086, 0.30595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.289, 0.30584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.77509, 0.30604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.53532, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.57626, 0.30692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.80611, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.10436, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37916, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57942, 0.30825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.67021, 0.30845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.60725, 0.30865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.33861, 0.30888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.83143, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.09811, 0.30971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.12738, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.1589, 0.30827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.0965, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.02314, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.98338, 0.31162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.9775, 0.31297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.97531, 0.31438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93625, 0.31582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.82571, 0.31728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.6268, 0.31876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.34934, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.03186, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.72685, 0.32317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.46503, 0.32459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.21172, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.84211, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.15705, 0.32951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.93734, 0.33185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.01321, 0.33469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.32293, 0.33793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.05586, 0.34128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.91124, 0.34438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.9398, 0.34701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.81348, 0.34918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.24334, 0.35123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.01793, 0.35361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.01366, 0.35676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.18843, 0.36092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.56861, 0.36604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.23183, 0.37172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.28498, 0.37736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.84095, 0.38225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.00385, 0.38584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.86949, 0.38791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.5352, 0.38853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.10544, 0.38794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.68878, 0.38639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.39697, 0.38399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.35648, 0.38066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.72397, 0.37623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.67869, 0.37066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.37193, 0.36406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84926, 0.35678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.99339, 0.3492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.53184, 0.34172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.11612, 0.33466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.43426, 0.32828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.29806, 0.32271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66431, 0.31797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.58997, 0.31402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.15641, 0.31078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.41131, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.36363, 0.30616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.03128, 0.30458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.50384, 0.30334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.96659, 0.30234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65264, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.25816, 0.30099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.73128, 0.3007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.90121, 0.3007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.0118, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.30672, 0.30148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.92858, 0.30212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.87847, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.05039, 0.30348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.30875, 0.30408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55252, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72864, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.80295, 0.30552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.72866, 0.30592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.44557, 0.30635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.91001, 0.30685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.12738, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.41927, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.40336, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.27634, 0.30898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.13727, 0.31014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.04669, 0.31139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.01451, 0.31271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.01091, 0.31405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98795, 0.31537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90092, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.72537, 0.31793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.46815, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.1672, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.87192, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.60433, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.31778, 0.32375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.87991, 0.32508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.09656, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.76932, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.7617, 0.33136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.04931, 0.33409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.26127, 0.33671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.94985, 0.33888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.72942, 0.34039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.30291, 0.34132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.40874, 0.34197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.84685, 0.34275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.48944, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28373, 0.34605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.24927, 0.34871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.46909, 0.3517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.07379, 0.35453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.22095, 0.35665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.07489, 0.35766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.78992, 0.35744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.49546, 0.35617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.2823, 0.3542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.19773, 0.35188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.26106, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.50165, 0.34682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.00121, 0.34397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.09321, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.61104, 0.33711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.44391, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.37361, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.64264, 0.32448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.05885, 0.32017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.32236, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.237, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74542, 0.3089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.89087, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.74084, 0.3035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.32692, 0.30148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.63939, 0.2999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.67607, 0.29872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.50658, 0.29787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.29886, 0.29731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27586, 0.29698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.38267, 0.29688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.63546, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.61152, 0.29735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.55569, 0.2979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.71699, 0.29861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.24198, 0.29944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.13062, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.27091, 0.30122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.5192, 0.30207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.76777, 0.30286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95981, 0.3036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.05869, 0.30428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.01282, 0.30492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.75264, 0.30557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.22262, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.41927, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.90736, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.88096, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.71826, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.53427, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.40782, 0.31277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.36138, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36718, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36983, 0.31628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.31335, 0.31731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.16454, 0.31827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.92654, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.63569, 0.31997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.33658, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.04109, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.69148, 0.32245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.15224, 0.3236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.2411, 0.32511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.78733, 0.32704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.69202, 0.3293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.03266, 0.33164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.25766, 0.3337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.76367, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.28592, 0.33584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.55684, 0.33584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.33626, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.43214, 0.33495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.71751, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.14252, 0.33505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.73711, 0.33577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.60238, 0.33672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.89287, 0.33756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.79471, 0.33793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.5032, 0.33757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.19911, 0.33643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.02224, 0.33467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.04771, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.28001, 0.33035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.67717, 0.32826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.20277, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.11745, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.16984, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.78509, 0.32041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.82236, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25995, 0.31578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.23549, 0.31325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.99395, 0.31062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.15273, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04898, 0.30541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.61927, 0.30302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.89802, 0.30086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.94378, 0.29897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.77835, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.37985, 0.29612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.73033, 0.2952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.87946, 0.29459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97298, 0.29428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21514, 0.29423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.22289, 0.29442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.29686, 0.29482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.12671, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.05072, 0.29613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.01019, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.45694, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.29275, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.40852, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.6606, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.93783, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17825, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.33965, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.36332, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.16935, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.68906, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.90736, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.5094, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.52546, 0.31208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.37381, 0.3133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.18308, 0.31449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.05087, 0.31564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.01445, 0.3167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.05014, 0.31766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09567, 0.3185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.08283, 0.3192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.96776, 0.31979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.7476, 0.32029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.45481, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.12786, 0.32116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.76945, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.31486, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.63188, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.55687, 0.32471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.95159, 0.3265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.75596, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.98414, 0.33054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.12273, 0.33216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.44598, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.71118, 0.33318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.67635, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.12046, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.8644, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79454, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.87977, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.17257, 0.32695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.79411, 0.32648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.91134, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.71502, 0.32538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.40174, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.15363, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.11012, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.33842, 0.31941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.82251, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.48738, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.25593, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.88659, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.85766, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.50041, 0.31067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.66157, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.28409, 0.30805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45888, 0.30656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40054, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64214, 0.3032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.48684, 0.30144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.06859, 0.29971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.41701, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.5872, 0.2966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.5989, 0.29532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.42643, 0.29427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.04234, 0.29349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47858, 0.29302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85607, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.35351, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.12524, 0.29327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.21315, 0.29382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.50741, 0.29454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.78588, 0.29539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.81384, 0.29638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.44574, 0.2975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.32876, 0.29875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.41152, 0.30011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.66655, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.98302, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29331, 0.30439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.54733, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.67796, 0.30709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.59472, 0.30836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.21507, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.5094, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.13165, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.25609, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.17935, 0.31745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.03781, 0.31867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.94513, 0.31974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.95375, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04626, 0.32134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15576, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.20269, 0.32223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.13142, 0.32246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.93012, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.6241, 0.32268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.24422, 0.3228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.78591, 0.32304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.18277, 0.32354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.3125, 0.32439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.03545, 0.32567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.24838, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.92934, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.84491, 0.33079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.91383, 0.332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.06789, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.08188, 0.33213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.73594, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.83157, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.21418, 0.32721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.79904, 0.32515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.58611, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.65395, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.13656, 0.32025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.19705, 0.31901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.01, 0.31781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.75293, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.59488, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.67093, 0.31363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.04871, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.70976, 0.31062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.56775, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.47593, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.46426, 0.3072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.34279, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.97337, 0.30564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.20348, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.95593, 0.30417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28692, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.3746, 0.30227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.44176, 0.3011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.34025, 0.29984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.90636, 0.29853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.28301, 0.29725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.52545, 0.29604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.65782, 0.29495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.65879, 0.29402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49868, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19568, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.84556, 0.29273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.59728, 0.29287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.58189, 0.29327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.83351, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.25123, 0.29465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.63107, 0.29556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.75404, 0.29662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.47854, 0.29784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.78463, 0.29925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.24634, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.49204, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.84541, 0.30434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23363, 0.30615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59793, 0.30795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.86281, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.92874, 0.3114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.70035, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.13165, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.68064, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.98492, 0.32088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.05945, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.03858, 0.32371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.0446, 0.32471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.14215, 0.32543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32161, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51557, 0.32612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.63705, 0.32619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.61982, 0.32612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.44103, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.11536, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.66407, 0.32574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.07685, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.29002, 0.32621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.19626, 0.32698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.68311, 0.32815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.6827, 0.32961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.20953, 0.33115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.63032, 0.33245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.66042, 0.33324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.67018, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.44559, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.78752, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.52734, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.5487, 0.32641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.80883, 0.32388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.3447, 0.32145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.2572, 0.31925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.68207, 0.31731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.76482, 0.31562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.65123, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.49006, 0.31275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.43083, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.60268, 0.31013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.07849, 0.30888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.84882, 0.3077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.16864, 0.30665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.07924, 0.30576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.94402, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.73331, 0.30449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.33158, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.5964, 0.30368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.4418, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.89846, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.11281, 0.30215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.28221, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.56603, 0.30034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.029, 0.29928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.35202, 0.2982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.63333, 0.29713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.84706, 0.29613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.9824, 0.29525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01402, 0.29455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.95112, 0.29409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.86606, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.87648, 0.29403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.08607, 0.29441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.51654, 0.29501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.07307, 0.29577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.56979, 0.29668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.80506, 0.29775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.64236, 0.29902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.05132, 0.30054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.09394, 0.30229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.12423, 0.30424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.50235, 0.30634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.96337, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44035, 0.31073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.85109, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.09053, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.0542, 0.31715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.68064, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.08239, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.63222, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.93706, 0.32773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.11689, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29039, 0.33005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52702, 0.33063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82447, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.11988, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.32555, 0.33076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.36905, 0.33054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.21684, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.87055, 0.33005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.33969, 0.32994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.60835, 0.33005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.61785, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.2781, 0.33125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.50446, 0.33236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.26309, 0.33367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.3969, 0.3349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.34004, 0.33577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.37014, 0.33604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.26895, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.82847, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.8712, 0.33242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26605, 0.33001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.94491, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.91337, 0.32453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.24453, 0.32183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.05442, 0.31934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.4713, 0.31713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.61586, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.60141, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.54618, 0.3122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.57868, 0.31097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.82065, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.35105, 0.30885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.17481, 0.30792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.77666, 0.3071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.60424, 0.30642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.3783, 0.30589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.09038, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.64998, 0.30531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.93208, 0.30519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.85097, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.41907, 0.30483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.75394, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.02642, 0.30377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.38126, 0.30293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.88138, 0.30197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.50746, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.20336, 0.29991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.07131, 0.29892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31896, 0.29803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52317, 0.29728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.6887, 0.29676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.86736, 0.29651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.14604, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.59912, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.23218, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.95244, 0.29807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.58933, 0.29891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.95748, 0.29992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.92584, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.45478, 0.3027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.58796, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.41428, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.02775, 0.30891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.49133, 0.31137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.0692, 0.31391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61988, 0.31648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03793, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.21622, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.08239, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30344, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14667, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74974, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20627, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61667, 0.33528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.04415, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.49018, 0.33593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.90039, 0.33586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.19402, 0.33568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.29921, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.17505, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.81003, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.20047, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.32389, 0.33578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.12614, 0.33645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.53355, 0.33744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.48732, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.98505, 0.33985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.89102, 0.34079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.97461, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.04527, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.87193, 0.3397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.25035, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02693, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.11264, 0.33281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.49037, 0.32994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.2121, 0.32705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.38084, 0.32428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.12066, 0.32172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.54801, 0.31944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.75904, 0.31748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.83799, 0.31583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.87617, 0.31447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.98215, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.26848, 0.31242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.81794, 0.31162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.34972, 0.31093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.28445, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.07483, 0.30986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.79304, 0.30952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.44791, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.97516, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.27268, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.26256, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.94484, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.40979, 0.30914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.79874, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.23696, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.78215, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.41856, 0.30572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.09249, 0.30463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.75796, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.4002, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.0252, 0.30177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.37039, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.82098, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.38436, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.10504, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.96931, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.88167, 0.30186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.68227, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.19949, 0.30342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.30822, 0.30453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.96265, 0.30595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.1922, 0.3077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.07229, 0.30977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.6914, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.13248, 0.31468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.52572, 0.3174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19671, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.7803, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17447, 0.32587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30344, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.36441, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.52253, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.46647, 0.33748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.25565, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.95969, 0.34007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.6238, 0.34063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.24718, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.78465, 0.34089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.16788, 0.3409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.33221, 0.34099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.23434, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.85212, 0.34166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.16899, 0.34234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.15473, 0.3433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.75747, 0.34454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.91668, 0.34602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.59556, 0.34754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.81994, 0.34884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.2958, 0.34955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.55251, 0.34942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.7019, 0.34834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.49779, 0.34639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.74053, 0.3438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.30273, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.13744, 0.33773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.27386, 0.33466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.80162, 0.33171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.84454, 0.32896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.52926, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.96096, 0.32424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.2171, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.36096, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.46357, 0.3195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.61611, 0.31853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.92023, 0.31778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.45847, 0.31721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.73755, 0.31677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.69844, 0.31643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.49584, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.19774, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.82595, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.34184, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.66968, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.74506, 0.31678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.56034, 0.31686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.17927, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.7098, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.25142, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.85139, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.496, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.13624, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.72478, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.2384, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.67434, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.02985, 0.30782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.71415, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.58808, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.60621, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.73251, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.86376, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.84585, 0.30809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.51837, 0.30867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.76352, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.53412, 0.31062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.85167, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.78337, 0.31398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.41462, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.83081, 0.31864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.11369, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.65281, 0.32418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.3783, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.97262, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.36441, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.33749, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.80373, 0.33957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.09681, 0.34171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.24089, 0.34337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.26902, 0.34456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.20044, 0.34534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.02548, 0.34586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.70518, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.18422, 0.34679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.40833, 0.34749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.33583, 0.34847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.93738, 0.34975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.18543, 0.35138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.04171, 0.35334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.45416, 0.35559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.37138, 0.35796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.77434, 0.36016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.71435, 0.36178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.66214, 0.3624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.12099, 0.36173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.3841, 0.35977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.19093, 0.35677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.34929, 0.35315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.75935, 0.34934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.41257, 0.34564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.37514, 0.3422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.76267, 0.33911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.71018, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.34322, 0.33393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.7589, 0.33183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.02434, 0.33007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.19171, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.31953, 0.32753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.48512, 0.32674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.77806, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.27624, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.98173, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.00956, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.86059, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.59437, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.24101, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.78481, 0.32669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.17692, 0.32711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.36936, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.34999, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.15671, 0.3274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.86088, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.53027, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.19593, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.84328, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.42912, 0.3219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.90913, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25698, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.46534, 0.31842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.53387, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.54122, 0.31704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.76329, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.11514, 0.31646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.53505, 0.31634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.90725, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.07924, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.90064, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.26394, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.12689, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.51048, 0.31825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.47959, 0.31967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.11925, 0.32147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.5169, 0.32361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.75527, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.08649, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.93019, 0.33147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.70105, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.33749, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.32406, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.06843, 0.34413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.68507, 0.34625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.16853, 0.34804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.518, 0.3495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.72566, 0.35073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.76867, 0.35184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.60883, 0.35301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.19944, 0.3544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.49446, 0.35613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.45416, 0.35829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.04386, 0.36091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.22673, 0.364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.95667, 0.36753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.17962, 0.37134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.85024, 0.37516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.96461, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.59894, 0.38083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.06624, 0.38149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.75894, 0.3802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17066, 0.37709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.02935, 0.37267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.15423, 0.36762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.47364, 0.36256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.01214, 0.35789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.86295, 0.35379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.15667, 0.3503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.03178, 0.34737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.61049, 0.34492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.98553, 0.3429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.22123, 0.34127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.36734, 0.34001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.47701, 0.33912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.61748, 0.33858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.86607, 0.33836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.29245, 0.3384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.06307, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.20171, 0.33902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.15994, 0.33948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.98646, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.71473, 0.34056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.34685, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.85747, 0.34172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.21433, 0.34215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.40206, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.43394, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.344, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.16494, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.90681, 0.33915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.55034, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.05715, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.38848, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51978, 0.33391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.44449, 0.33293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.16891, 0.3321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.29274, 0.33142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.91424, 0.33083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.64375, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.38955, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.01914, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.37936, 0.32804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.33116, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.78222, 0.32675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.70252, 0.32656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.11994, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.10233, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.73638, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.1108, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.30743, 0.33214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.39952, 0.33434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.54667, 0.33674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.47135, 0.33926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.32406, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.41803, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.39743, 0.35043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.28907, 0.35253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.06746, 0.35454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.70711, 0.35648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.17839, 0.35841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.44492, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.46425, 0.36282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.19111, 0.36559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.58124, 0.36891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.59272, 0.37287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.18369, 0.37753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.30723, 0.38288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.90826, 0.38881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.92871, 0.39507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.32745, 0.40119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.11564, 0.40642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.39793, 0.40985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.60468, 0.41064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57656, 0.40847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.17766, 0.40367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.12839, 0.39714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.26431, 0.38993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.54305, 0.38292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.01812, 0.37665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.80216, 0.37133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.03329, 0.36699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.8487, 0.36351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.36652, 0.36077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.67772, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.84867, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.93214, 0.35593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.98065, 0.35525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.05451, 0.35498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.21956, 0.3551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.53515, 0.35553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.96105, 0.35619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.26276, 0.357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.39263, 0.35789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.38762, 0.35878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.27955, 0.35966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.08081, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.78237, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.36326, 0.36165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.80425, 0.36184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.09644, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.23954, 0.36112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.23195, 0.36025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.06029, 0.35919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.69613, 0.35807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.10224, 0.35701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.24442, 0.35608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10235, 0.35528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.67499, 0.35458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.98102, 0.35391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.05887, 0.35318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.02935, 0.35226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.19057, 0.35103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.29733, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.19713, 0.34751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.73662, 0.34537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.79232, 0.34325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.29389, 0.34136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.2311, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.64514, 0.33898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.61082, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.21757, 0.33885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.5543, 0.33956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.70058, 0.34072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.7239, 0.34226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.6809, 0.34408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.38022, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.41803, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.67108, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.84113, 0.36069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.95282, 0.3629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.97043, 0.36533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.85493, 0.368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.56328, 0.371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.04874, 0.37446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.26201, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.15291, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.67124, 0.3891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.76593, 0.39586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.3822, 0.40369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.4582, 0.41259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.92503, 0.42236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.7161, 0.43258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.7918, 0.44243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.18068, 0.45067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.02488, 0.45583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39992, 0.45671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.72187, 0.45295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.56503, 0.4453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.64658, 0.4353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.82545, 0.42457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.09251, 0.41436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.52954, 0.40539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.26544, 0.39792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.44282, 0.39193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.19624, 0.38725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.64018, 0.38369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.86515, 0.38106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.94101, 0.37921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.92499, 0.37802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.8706, 0.37743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.83292, 0.37736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.86738, 0.37777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.02267, 0.37855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.66883, 0.3796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.19738, 0.38083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.57504, 0.38211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.82697, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.9784, 0.38453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.04332, 0.38556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.01942, 0.38641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.89019, 0.38705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.63105, 0.38744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.21484, 0.38757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.61342, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.79572, 0.3873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.72503, 0.38709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.35919, 0.38698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.65538, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57842, 0.38727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.11007, 0.38759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.25691, 0.38783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.05613, 0.38775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.57977, 0.3871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.06247, 0.38564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.72484, 0.38323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.23613, 0.3799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.42157, 0.37584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.13119, 0.3714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.26423, 0.36699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.78043, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.69644, 0.35953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.07174, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.99065, 0.35501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.54573, 0.35389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.82525, 0.35345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.90592, 0.35362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.85054, 0.3543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.70939, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.4764, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.67108, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.07491, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.39997, 0.37846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.68542, 0.38104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.89273, 0.3842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.97841, 0.38803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.8941, 0.39263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.58731, 0.39816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.00229, 0.40481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.08051, 0.41276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.76008, 0.42223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.97374, 0.43338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.64602, 0.44633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.69135, 0.46106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.01709, 0.47727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.53815, 0.49419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.21003, 0.51036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.08137, 0.52362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34813, 0.53144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.63252, 0.53195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.40788, 0.5249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.5566, 0.51195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.79876, 0.49578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.02884, 0.47896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.28056, 0.4633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.66867, 0.4497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.34004, 0.43845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.44278, 0.42946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.11009, 0.42246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.45377, 0.41717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.5639, 0.41329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.51254, 0.41058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.35954, 0.40886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.15816, 0.40798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.9583, 0.40781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.80614, 0.40825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.74052, 0.40916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.212, 0.41042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.04032, 0.4119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.74819, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.34889, 0.41499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.85704, 0.41643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.28035, 0.41775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.61414, 0.41895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.83982, 0.42003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.92646, 0.42107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.83357, 0.42213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.51348, 0.42333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.91268, 0.4248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.97303, 0.42664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.63407, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.83806, 0.43173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53808, 0.43481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.70922, 0.43791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.36207, 0.44054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.55613, 0.44209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.40929, 0.44194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.90277, 0.43963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.16276, 0.43505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.14344, 0.42846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.64571, 0.42053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.52921, 0.41204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.72544, 0.40374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.23296, 0.39617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.10148, 0.38966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.41238, 0.38435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.26119, 0.38023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.74392, 0.37722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.94799, 0.3752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.94751, 0.37406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.8021, 0.37369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.55876, 0.374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.2554, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.07491, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.56163, 0.4075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.01977, 0.40984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.44921, 0.41319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.81259, 0.41765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.06734, 0.42333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.16514, 0.43042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.05182, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.66715, 0.44977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.94388, 0.46261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.80581, 0.47802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.16474, 0.49633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.91706, 0.5178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.94244, 0.54245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.1095, 0.56984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.29741, 0.59858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.44362, 0.62597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.61923, 0.64786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.89772, 0.6596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.62033, 0.65808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.97317, 0.64369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.47774, 0.62018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.87293, 0.59252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.11282, 0.56486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.29231, 0.53972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.56939, 0.51818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.11405, 0.50045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.08282, 0.48623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.60938, 0.47508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.80338, 0.46651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.75316, 0.4601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.53004, 0.45546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.19291, 0.45229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.79204, 0.45035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.37137, 0.44942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.96887, 0.44932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.61534, 0.44988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.33273, 0.45093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.86675, 0.45232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.97953, 0.45392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.00735, 0.45564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.95228, 0.45743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.81131, 0.45928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.57203, 0.46126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.21017, 0.46346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.68897, 0.46603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.95984, 0.46916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.96349, 0.47305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.63115, 0.47792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.8859, 0.48394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.64507, 0.49121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.82523, 0.49965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35164, 0.50893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.17472, 0.51832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.29403, 0.52666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.78648, 0.53245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.82703, 0.53418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.3159, 0.53081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.32177, 0.52231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.8851, 0.50969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.77692, 0.49461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.87355, 0.47884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.14986, 0.46374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.65248, 0.45017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.47, 0.43855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.70904, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.47805, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.87755, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.99497, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.90277, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.65902, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.30966, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.89197, 0.40614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.56163, 0.4075 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.59618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.61005, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.63894, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.68375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.74394, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.81731, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.89897, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.98003, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.04676, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.08076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.06054, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.96419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.77301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.47555, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.07215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.57944, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.03423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49584, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.0453, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.78022, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.80465, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.2139, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.0769, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.42016, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.21906, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.40013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.85439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.45673, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.08507, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.63397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.02088, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.18605, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.08921, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.03055, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.07301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.86979, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.48389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.00396, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.53614, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.18975, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.06024, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.21495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.68602, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.47136, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54146, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84876, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.33696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.94884, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.63197, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.34174, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.04181, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.70206, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.29479, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.79062, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.15534, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.34922, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.32979, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.05834, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.50924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67806, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.58344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.26071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.75159, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09572, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32678, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47219, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.5544, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60272, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59955, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59451, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.59618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19892, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.21523, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.23922, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.27205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.31423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.36631, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.42805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.49635, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.56326, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.61482, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.63136, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.58894, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.462, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.22745, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87074, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.39402, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82501, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.2243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68788, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.3423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.33059, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.78917, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.81903, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.45904, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.67215, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.3517, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.34636, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.49296, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.64458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.68618, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.53651, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.14017, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.45591, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.44797, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.08531, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.34947, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.24771, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.82527, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.17121, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.41387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.70389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.18773, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.98031, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.14722, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.7013, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61103, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.81455, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.23441, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.79014, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.4076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.02425, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.59003, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.06442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.41141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.5954, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.58106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.33862, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.85227, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12629, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18388, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05852, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78334, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38415, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87816, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27635, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58695, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97925, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08236, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14138, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18677, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19892, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.40491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.41104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.41794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.42683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.44114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.46421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.49616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.53146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.55732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.55297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.48967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.33323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.05094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.41053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.37504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.90077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.1235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.09113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.7448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.93347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.45622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.1121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.73702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.21892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.49258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.52122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.27415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.71043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.77579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.41453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.31319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.64517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.71244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.68888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.76819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.1242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.87611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.07231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.67498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.91725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.31641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.77422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.20843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.55497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.76436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.79581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.61429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.60535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.90023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.11588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.34232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.99477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.96288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.92347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.87545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.82351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.77615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.7419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.72562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.72515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.72738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.70429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.39855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.0203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.1198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.63962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.59019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.20525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.6545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.9883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.11567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.83166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.88133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.02696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.09169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.97197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.62439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.03708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.19731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.06786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.58083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.65127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.2047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.20714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.68622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.73968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.53226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.27677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.19535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.47066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.20855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.4266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.06695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.02296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.16869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.38375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.56844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.64765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.5657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.27885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.9736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.95237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.39288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.99183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.5808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.83266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.25783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.59427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.83911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.9962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.07656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.84896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.77038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.67997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.57108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.44638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.31678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.19747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.10354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.04484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.01855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.99995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.93713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.31361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.76353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.71571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.45313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.17347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.92078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.56424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.84151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.4439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.09781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.61193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.88641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.89342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.64126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.13511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.34812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.2125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.63253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.5136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.47484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.61711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.35544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.88663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.44827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.52785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.28718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.5201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.12238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.95566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.88412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.79685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.6123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.8627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.56635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.10105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.55981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.02907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.56017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.15771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.40084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.95097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.40975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.76434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.01148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.15385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.20158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.17493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.10253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.94931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.80436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.67131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.53011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.36534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.17398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.96582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.7597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.57881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.44411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.36307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.31466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.23928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.04627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.67115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.65497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.55758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.59234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.78858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.9761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.8427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.03327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.23887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.24551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.94213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.29967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.33331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.06067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.46992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.09075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.12899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.55866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.36297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.58184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.31577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.72984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.04842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.52255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.36957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.71343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.55991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.3445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.99982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.66927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.00597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.02701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.77546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.28121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.63164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.94629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.33308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.84902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.48509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.45309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.93065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.2801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.50146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.59803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.57927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.46782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.30029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.71827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.5229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.33442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.12566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.88426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.61528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.33793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.08055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.87249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.72898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.63061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.50952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.25916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.0837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.44436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.50734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.6159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.98217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.61774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.32675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.76846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.55619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.34582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.88699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.03595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.7402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.00519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.85436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.29589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.30696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.83797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.83048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.23793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.26184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.96937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.29951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.45748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.69595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.25657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.29783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.85285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.84217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.86673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.04399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.9706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.60769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.98497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.20804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.42598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.7729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.31422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.02601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.57542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.21758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.70337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.02726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.19564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.09157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.85415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.54883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.28096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.51222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.24813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.01929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.78405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.51721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.21587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.89697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.59143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.33368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.1425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.99625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.81807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.49045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.0317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.96205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.36276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.56238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.89748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.56331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.5599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.69203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.62212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.95221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.30407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.37631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.97096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.99182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.42075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.2825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.61104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.42849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.73931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.5341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.7959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.66929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.31834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.56323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.59566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.67103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.04625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.8985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.27298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.09309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.22042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.52009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.89399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.27281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.58642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.74472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.65143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.24811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.56038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.71039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.87837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.22806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.83555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.66115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.44074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.13999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.63173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.91735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.01148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.92301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.66166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.25764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.77148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.28096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.29479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.23531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.90254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.64632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.40816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.14683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.84875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.52689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.21325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.94461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.73907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.56922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.3499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.96015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.28559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.66986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.14075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.7537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.20429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.32266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.89269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.27619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.5257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.25454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.05674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.57266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.53729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.30864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.08996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.20584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.7309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.73252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.25691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.31924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.98561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.5672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.72868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.65197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.60103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.85007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.5896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.86668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.59771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.6383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.85734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.16999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.5209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.84364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.03662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.98139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.59853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.90643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.04054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.21027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.60889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.32396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.30044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.36908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.14484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.65369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.90331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.91671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.70679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.28466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.68646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.98892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.29479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.47045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.12703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.73866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.47682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.26536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.04462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.78817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.5039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.22423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.98674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.80646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.35069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.57422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.97914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.64433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.53277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.32411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.58294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.97953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.25703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.27164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.00896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.58684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.74885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.6432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.67897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.44824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.62335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.99823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.49132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.12162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.97573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.17556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.84705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.08888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.94667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.41649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.94626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.04617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.88819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.74567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.91055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.58527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.81546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.50649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.50442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.67948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.95984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.30642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.66114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.91643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.93653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.62312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.98554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.16684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.39817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.89629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.75836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.91664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.33009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.21223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.76743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.00645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.95852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.64026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.06509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.2764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.36839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.47045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.19132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.63354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.21802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.02072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.17466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.32201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.50325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.71662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.92996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.10548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.23087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.34367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.53061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.89163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.24784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.02856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.56246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.55354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.72971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.88545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.90042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.74512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.49013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.32277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.4468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.41522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.15656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.30634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.61956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.98536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.41022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.98928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.87438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.23556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.21549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.8881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.20851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.72322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.80996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.4536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.58878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.24283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.45973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.13666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.11218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.25717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.51068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.84976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.22887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.54312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.6493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.43715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.20119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.55856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.20618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.24556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.60187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.39768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.42292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.07202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.35304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.2968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.92214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.24542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.3175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.2484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.19132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.02771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.98503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.67183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.07658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.33924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.39279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.47956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.60493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.73846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.84238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.90464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.96015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.08445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.35596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.80223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.35902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.86452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.09081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.79469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.76343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.83942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.92479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.98285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.05282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.27701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.91836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.3413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.05122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.89934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.94711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.06341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.23389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.54252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.14724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.24147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.99905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.79866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.75785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.31149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.45951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.34355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.22947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.41349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.10163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.33645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.01464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.97488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.09052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.30811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.61754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.98851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.32911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.50317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.40022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.01403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.47647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.01535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.84959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.07753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.62481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.80407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.00606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.80595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.20197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.22, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.87833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.19584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.77092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.90166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.02771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.67635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.25054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.60788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.72923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.7182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.67684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.66947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.70919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.76934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.8129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.8252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.83221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.89156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.0571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.65208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.86366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.77941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.20846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.99151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.01327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.20047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.52273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.0094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.77712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.04663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.12682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.36256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.06841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.47913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.26947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.14062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.19215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.56555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.45413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.04528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.69696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.69021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.34241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.36367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.30997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.25775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.93585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.15339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.86892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.17687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.22827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.14346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.97205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.71716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.39446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.07448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.87151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.88259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.11588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.45808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.70993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.67831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.27568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.56883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.04984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.65349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.6543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.06974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.88548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.08749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.65623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.53344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.5974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.67635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.39336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.74869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.03008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.08019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.99458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.87487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.79061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.7682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.77431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.76152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.7429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.7547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.82642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.04156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.98564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.62539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.81528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.4405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.42295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.71738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.31259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.2459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.62384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.63133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.51541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.54481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.96427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.96367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.66631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.12393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.30862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.1097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.35489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.27258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.21161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.41501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.90924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.6038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.30087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.76994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.84485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.48529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.76943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.82909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.77382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.65176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.46513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.21883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.95903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.76895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.72179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.82237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.97903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.03073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.82066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.2772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.45589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.67288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.08797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.86636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.04313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.61961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.58931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.93475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.60097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.47445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.39336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.04914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.23411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.21661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.07617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.90482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.77063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.69845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.67418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.66678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.65373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.63465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.62459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.63112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.54741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.27822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.69907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.70041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.20285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.16084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.55924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.41351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.77827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.75754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.5051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.20794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.05805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.22639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.8498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.02755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.81487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.2076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.12916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.44096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.6429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.3775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.23007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.27032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.52595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.93343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.34151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.56802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.47686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.03005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.28653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.35381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.3268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.2521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.13481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.97393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.79403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.64625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.57624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.58151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.58977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.4781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.12733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.48333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.59073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.62542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.87775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.44127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.36589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.66844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.35127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.4011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.77045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.36138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.23102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.30473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.22506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.05081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.85682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.7025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.61312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.58034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.57801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.5818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.58022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.57043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.45981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.25549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.83592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.10229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.97198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.39309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.34798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.85029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.9426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.69729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.21675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.62693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.06259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.65035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.49823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.69512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.31307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.40139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.96936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.96931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.29884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.46308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.14998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.91097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.79338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.82007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.94966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.07502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.06208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.80643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.27466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.5077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.5878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.59263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.56511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.51363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.43492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.33746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.24541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.17918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.12746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.03236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.80261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.35173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.64201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.70999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.6313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.75714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.13686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.82928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.86288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.24757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.97502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.00725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.26573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.45025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.31255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.12133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.92966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.78223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.69955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.67612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.69035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.71806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.7405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.69944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.57052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.28969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.77516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.9452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.73692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.11945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.09789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.70985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.01948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.11142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.08372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.06819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.25252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.65322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.32273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.30874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.64952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.35846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.40779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.72635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.80134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.4275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.09827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.83953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.6662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.55282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.42907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.20363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.80243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.19906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.42007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.52439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.57128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.59694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.61086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.60883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.58859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.55446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.50716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.42723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.26647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.95733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.43917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.68858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.7376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.63716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.87639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.37765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.17556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.28483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.70152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.39735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.31368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.11183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.94248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.54985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.37558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.25295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.19337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.19044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.22536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.27769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.11952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.79107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.21935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.33535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.09092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.47124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.49853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.22723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.7345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.10942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.44228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.81456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.29145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.91992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.73334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.76002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.02864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.56506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.38046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.45824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.75032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.26294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.84534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.46295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.1227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.80963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.48158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.08213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.56401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.90921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.13418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.27799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.38182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.47233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.55679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.6294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.68067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.70155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.67897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.58752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.38575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.02359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.46037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.68514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.72866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.56242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.7081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.06855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.67936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.55719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.70152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.09303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.35665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.3917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.5029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.51226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.44731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.26151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.89571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.28457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.36947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.1141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.51597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.60904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.45696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.14118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.74806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.35774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.03575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.82894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.76663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.86667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.14326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.61169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.28655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.17372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.26137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.51655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.33616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.81448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.30891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.81734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.3407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.87076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.38548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.85475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.2529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.57027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.81678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.01578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.19201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.36095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.52453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.67358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.79297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.86475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.8671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.77129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.54162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.14183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.54744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.75877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.80771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.75454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.0219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.34454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.40199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.44023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.43071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.33773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.1157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.7096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.06132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.12171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.86482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.29795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.46223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.42412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.26248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.05601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.8736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.76845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.77636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.91795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.20409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.64179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.23781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.99795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.92242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.8772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.2719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.67882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.09053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.50479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.91783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.32093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.70196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.05075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.36436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.64877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.91566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.17602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.43414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.6846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.91307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.09904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.21827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.24368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.14578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.89489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.4669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.8515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.05954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.12546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.10327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.8882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.17769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.13525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.13784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.16487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.19354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.19852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.15035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.01302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.7423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.28717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.5962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.62909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.36953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.83289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.06424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.12846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.09757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.03997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.01332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.06105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.21206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.48299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.88212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.41334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.0786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.8779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.80726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.85613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.0064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.2341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.51358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.82242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.14495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.47291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.80341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.13571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.46893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.80161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.13293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.46416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.79869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.14013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.4891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.84018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.18023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.48883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.73999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.90446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.9521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.85447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.58863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.14201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.51721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.73476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.83203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.8882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.78916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.45418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.04861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.94834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.89262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.86093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.8306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.77609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.66745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.46852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.13615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.62234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.88121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.88044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.61262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.10007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.38993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.54303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.6225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.6856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.7793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.93877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.1878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.54071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.00483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.58293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.27477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.07753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.98524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.41524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.64143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.88732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.14642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.41676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.69951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.99746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.31403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.65255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.01584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.40522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.81914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.25136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.68937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.11369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.4982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.81176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.02087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.09336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.00283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.7333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.28305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.66621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.91157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.15296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.55264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.24327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.77373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.5816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.0007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.86364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.44554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.11488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.85924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.66403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.51261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.38628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.26382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.1206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.9271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.64748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.23928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.65641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.85709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.81584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.53355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.03887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.37982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.61186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.78844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.9557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.15052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.40047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.72469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.13529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.63884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.23777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.9314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.71644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.62396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.74166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.89494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.07669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.28304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.51337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.76966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.05562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.37558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.73341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.13142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.56916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.04211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.54044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.04794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.54144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.99114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.36204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.61715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.72249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.65335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.39986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.96954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.38588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.68372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.13154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.59059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.8361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.63252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.5816, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58451.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57310.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56155.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53837.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52683.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51532.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50378.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48010.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45449.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44058.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42582.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37739.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36065.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32851.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31399.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30105.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28996.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28088.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27379.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26849.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26465.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26189.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25980.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25804.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25638, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25151.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25041, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25006.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25091.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25343.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25810.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26533.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30433.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32293.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39094.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41608.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46713.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49222.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58162.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59971.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61554.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62892.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63972.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64792.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65676, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65767.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65649.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64867.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64243.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63489.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62626.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60648.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59569.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58451.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56289.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53887, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52681.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51483.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50295.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49119.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47950.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45586.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44355.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43065.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41699.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38712.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37100, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35433.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33745.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32080.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30488.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27740.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26674.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25847.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25258.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24880.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24668.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24569.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24528.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24502.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24462.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24391.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24290.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24168.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23969.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23973.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24122.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25102.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27320.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28938.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30871.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33076.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35494.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38062.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40714.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43388.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48600.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51059.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55529.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57486.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59222, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60714.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61947.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62915, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63619.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64072.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64288.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64285.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64084, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62465.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60718.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59699.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56289.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53941.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52716, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51485.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50257.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47833.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46644.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43129.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41932.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40690.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38008.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36548.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35010, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31773.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30148, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27159.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25923.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24930, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24207.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23753.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23534.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23493.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23685.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23807.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23901.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23950.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23950.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23907.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23833.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23765.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23994.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24478.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28030.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29955.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32195.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34681, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37330.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40061.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42797, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45473, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50462.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52712.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54765.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56598.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58190.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59524, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61400.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61959.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62285.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62398.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62315.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61622.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61039.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60315.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59466, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57452.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56327.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53941.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50208.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48978.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47752.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46535.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45330.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44143.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41824, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40680.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39530.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38357.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37144.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35875.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34539, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30126.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28597.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25771.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24618.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23113.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22790.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22714, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22818, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23029.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23284.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23763, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24093.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24188.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24230.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24206.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24220, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24684.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25321.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27746.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29564.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44969.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47481.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49817.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51948.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55509.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58023, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58879.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59488.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59877.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60070.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60086.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59938.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59634.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59180.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58583.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56996.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56030.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54970.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53836.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52650.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47585.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46383.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45187, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43997.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42818.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41655.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40513, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38294.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37206.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36119.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35018.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33887.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31464, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30151.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28784.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27398, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26051.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24819.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23777.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22991.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22495.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22319, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22841.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23197.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23559.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23912.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24250.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24569.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25074, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25221.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25298.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25341.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25421.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25635.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26088.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26875.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29668.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31669.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33994, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36541.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39197.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41853.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46828.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51018.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52743.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54191.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55350.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56224.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56835.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57224, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57420, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56429.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55832.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55108.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54265.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53314.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52270.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49984, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44877.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43732.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42595.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41464.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40342.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39234.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38146.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36054.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35050.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33096.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31114.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30059.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28939.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27760, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26551.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24286.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23377.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22705.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22306, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22177.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22281.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22932.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23361.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23815.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24287.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24777.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25279.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25765.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26197.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26534.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26759.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26887.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26974.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27106.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27392.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27941.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28846.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31887.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33972.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36317.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38799.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41300.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43716.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45976.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48028.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49837.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51369.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53514.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54129.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54487.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54650.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54614.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54234.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53890.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52834.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52125.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49379.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48300.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47175.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43213.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42145.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41089.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39006.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37977.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36961, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35965.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35000, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34068.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33174.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32317.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31490.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29856.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28997.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28082.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27110.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26103.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24194.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23422.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22854, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22435.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22564, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22860.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23270.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23751.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24282.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26808.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27425.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27941.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28554, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28682.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28775.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28931.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29262.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29880.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30868.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32262.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42795.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46726, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48349.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49688.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51764.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51886.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51843.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51712.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51540.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51334.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51069.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50715.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50248.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48973.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48185.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46356.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45340.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44284.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43213.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39498.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38561.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37640, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36729.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35829.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34943.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34081.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33249.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31703.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30995.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30327.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29686, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29048.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28388, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27681.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26922.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26126.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25329.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24580, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23934.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23443.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23142.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23048.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23835.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24343.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24928.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25583.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27846.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28584.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30048.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30232.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30319.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30554.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32668.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34097.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35825.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39725.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41669.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43498.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46581.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47732.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48560.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49046.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49217.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49148.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48939.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48679.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48420.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48162.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47870.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47502, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47029.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46449.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45774.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45019.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43311.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42379.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37901.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37088.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36298.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34771.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34030.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31954, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31332.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30752.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30216.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29721.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29256.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28803.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28337.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27835, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26691.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26076.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24476.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24163.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24042.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24246, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24607.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25102.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25703.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27145.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27947.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28760.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29537.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31175.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31519.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31558.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31620.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31819.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32268.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33042.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34154.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35551.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38805.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40457.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44675, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45646.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46309.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46641.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46669.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46469.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46147.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45798.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45470.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45162.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44438, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43948, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43363.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42700.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41979, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41211.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38735.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37901.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35088.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34465.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33862.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33278.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32714.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32177.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31675.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31212.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30790.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29198.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28920.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28610.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27368.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26876.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25942.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25577.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25332.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25240.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25322, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25583, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26007.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26566.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27226.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27955.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28724.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29499.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30914.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31903.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32184.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32385.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32422.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32853.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33427.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35391.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36666.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40675.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41864.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42889.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43692.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44218.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44442.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44385.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43741.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42951.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42583.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42196.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41750.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41224.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40621.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39961.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38557.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35738.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33643.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33195.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32767.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31976.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31630.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31078.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30870, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30556.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30440.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30255, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30154.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30017.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29817.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29539.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29179.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28752.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28283, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27806.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27362.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26995.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26752.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26674.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26785.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27082.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27535.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28105.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28748.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29429.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30785.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31402.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31941.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32377.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32696.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32898.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33093.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33498, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33968.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34656.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36542.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37618.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38704.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39751.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40717.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42202.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42617.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42772.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42682.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42402.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42010.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41573.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41129.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40680.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40205.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39677.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39087.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38444.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37096.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35796.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35195.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33144.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32833, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32551.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32290.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32049.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31841.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31682.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31547.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31592.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31743.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31835.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31924.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31989.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32001.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31928, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31746.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31447.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31042.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30554.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30019.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29478.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28980.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28265.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28394.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28695.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29125.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30202.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30785.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31365, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31920.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32872.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33228.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33497.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33698.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33875.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34090.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36164.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36968.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37820, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38681.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39519.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40296.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40969.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41492, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41938, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41584.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41199.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40735.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40222.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39069.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38423.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37735.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37024.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35633.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34429.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33930.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33505.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33144.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32654.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32519.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32270.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32283.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32529.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33003.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33280.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33841.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34101.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34318.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34456.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34480.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34361.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34089.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33673.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33140.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32528.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31882.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31256.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30300.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30159.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30430.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30800.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31237.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31717.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32221.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32731.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33225.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34077.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34416.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34715.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35008.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35336.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35733.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36213.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36772, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38053.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38741, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39438.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40761.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41316.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41748.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42124.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41813.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40939.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39659.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38909.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38112.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37293.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35700.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34983.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33812.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32827.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33129.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33056.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33033.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33089.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33186.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33357.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33615.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33959.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34826.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35300.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35773.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36230.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37003.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37352.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37276.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37011.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36568, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35280.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34532.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33792.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32583.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32213.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32026.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32009.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32133.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33081, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34012.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34980.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36212.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36610.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37045.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37529.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38610, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39177.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39754.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40936.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41527.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42087.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42579, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42967, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43064.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42686.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42147.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41456.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40637.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39723.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38756.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37780.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36835.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35954.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35166.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34492.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33550.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33129.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33995, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33974.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34133, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34292.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34519.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34834.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35248.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36339.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36969.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37618.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38260.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38875.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39436.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39909.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40250.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40113.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39642.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38996.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38223.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37385.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35783.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35146.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34674.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34377.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34243.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34369.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34595, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34915.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35318.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35784.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36281, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36777.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37252.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38158.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38630.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39139.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39684.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40248.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40811.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41361.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41902, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43000.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43558.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44095.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44576.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44967.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45239, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45371.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45348.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44180.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43399.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42450.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41380.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40247.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39110.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38019.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37016.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36131.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35387.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34381.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33995, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35372.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35362.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35453.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35628.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36671.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37222.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37872.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38599.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40162.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40940.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41681.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42353.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42919.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43334.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43553.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43543.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42803, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42118.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41289.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40384.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39476.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38638.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37928.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37380.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37000.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36776.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36688.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36720.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37123.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37484.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39414.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39896.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40381.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40889.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41432.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42004.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42588.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43163.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44269.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45967.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46530.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47045, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47475.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47790.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47964.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47974.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47793.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47396.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46768.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45913.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44861.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43665.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42393.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41114.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39889.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37775.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36944.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36287.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35513.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35372.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37227.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37196.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37298.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37518.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37848.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38290.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38847.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39515.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40279.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41116.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41995, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42883.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43753.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44575.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45942.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46402.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46656.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46670.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46429.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45242.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44386.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43443.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42492.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41605, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40228.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39311.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39341.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39536.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39845.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40710.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42662.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43173.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43716.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44289.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45469, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46646.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47251.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48514, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49716.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50209.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50582.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50804.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50847.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50680.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49620.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48718.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46324.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44961.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43585.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42262.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41044, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39965.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39051.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37772, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37412.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37227.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39527.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39558.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39801.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40184.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40700.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42096.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43848.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45725.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46636.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47489.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48253.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48891, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49624.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49418.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48252, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47398.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46450.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45484.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44570.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43763.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43097.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42581.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42207.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41965.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41847.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41851, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41978, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42221.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42975.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43422.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43881.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44343.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44814.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45307, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45832.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46393.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46983.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47596.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48230.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48887.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49572, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51005.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51711.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52365.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53358.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53625.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53697.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53139.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50418.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49117.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47724.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46312.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44947.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43682, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42552.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41583.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40791.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40184.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39764.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39527.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42128.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42457.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42865.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44106, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44901.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46707.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47655.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48592.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49490.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51057.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52105.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52363.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52139.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51682.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51017.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50193.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49271.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48320.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46572.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45861.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44839.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44522.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44258.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44474.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44738.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45075.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45457.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45865.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46286.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46725.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47191.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47695.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48245.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49487.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50177, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51686, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52490.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53301.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54089.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54813.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55435.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56216.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56310.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55119.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54220.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53111.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50486.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47764.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46512.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45385.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43594, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42955.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42498, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45098.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45163.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45400.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45800.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46348.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47025.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48656.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49549.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50450.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51332.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52166.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53591.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54128.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54508.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54704.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54694.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54034.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53410.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50860.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49967.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49136.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48399.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47775.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47270, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46438.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46516.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46689.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46938.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47242.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47585.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47956.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48359.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48799.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49838.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50451.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51132.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51877.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52683.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53536.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54419, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55302.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56150.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58093.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58415.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58523.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58396.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57406.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56563.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54351, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53089.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50551.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48307.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47372.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46586.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45958.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45497.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48202, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48813.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49308.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49919.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50621.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52181.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52980.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53754.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54480.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55132.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55690.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56128.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56425.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56517.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56289.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55881.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55311.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54609.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52978.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52138.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50603.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49958.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48647, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48427.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48316.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48388.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48548.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48771.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49047.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49368.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49737.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50159.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50643.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51199.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51832.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52544.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53331.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54184.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56009.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56927.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57800.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58590.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59260, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59773.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60100.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60219.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60114.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59782, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59229.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58477.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57559.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55405.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54270.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53160, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52112, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51156, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49597.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49020.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48591.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48316.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51306.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51194.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51218.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51661.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52061.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52557.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53130.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53753.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54402.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55051.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55677.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56258.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56773.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57203.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57530.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57807, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57731, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57504.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57132.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56627.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56012.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55317.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54574.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53818.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53080.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52386.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51756.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50743.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50374.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50101.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49844.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49926.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50079.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50296.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50575, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50916.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51324.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51805.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52366.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53009.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53733.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54532.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55393, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56294.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57211.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58112.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58963.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60372.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60867.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61187.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61244.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60973.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60513.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59885.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58253, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57325.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56378.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53756.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52425.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51927.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51552.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51306.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53920.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53809.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53802.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53898.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54090, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54369, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56054.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56526, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56979.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57396.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57760.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58055.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58268.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58386.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58296.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58080.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57753.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57324.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55600.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54954.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54313.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53696.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52605.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52156.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51782.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51275.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51145.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51096.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51123.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51398.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51643.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51960.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54000.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54702.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57134.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57987.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58818.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59597, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60294.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61640.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61753.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61560.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60735.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59473.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58752.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58011.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57279.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56581.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55935.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55357.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54859.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54135.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53920.9, 145 + 500);
}
